package com.zh.webcommon.common.auditor.mp;


import com.zh.mycommon.viewdata.PageData;

import java.util.function.Function;

import static com.zh.mycommon.viewdata.ToWrapper.foreach;


/**
 * @author Zhou
 * @date 22:16 2023/11/5
 */
public final class UtilMp {
    private UtilMp() {
    }

    // Page(mybatis+) ——> PageData
    public static <V, T> PageData<V> asPageData(com.baomidou.mybatisplus.extension.plugins.pagination.Page<T> page, Function<T, V> convert) {
        return PageData.of((int) page.getCurrent(), (int) page.getSize(), page.getTotal(), foreach(page.getRecords(), convert));
    }

    // Page(mybatis+) ——> PageData
    public static <T> PageData<T> asPageData(com.baomidou.mybatisplus.extension.plugins.pagination.Page<T> page) {
        return PageData.of((int) page.getCurrent(), (int) page.getSize(), page.getTotal(), page.getRecords());
    }
}
